using System;
using System.Runtime.Serialization;
namespace Net35.Xrm.Sdk
{
	[DataContract(Name = "AttributePrivilege", Namespace = "http://schemas.microsoft.com/xrm/2011/Contracts")]
	[Serializable]
	public sealed class AttributePrivilege : IExtensibleDataObject
	{
		private Guid _attributeId;
		private int _canCreate;
		private int _canRead;
		private int _canUpdate;
		[NonSerialized]
		private ExtensionDataObject _extensionDataObject;
		[DataMember]
		public Guid AttributeId
		{
			get
			{
				return this._attributeId;
			}
			internal set
			{
				this._attributeId = value;
			}
		}
		[DataMember]
		public int CanCreate
		{
			get
			{
				return this._canCreate;
			}
			internal set
			{
				this._canCreate = value;
			}
		}
		[DataMember]
		public int CanRead
		{
			get
			{
				return this._canRead;
			}
			internal set
			{
				this._canRead = value;
			}
		}
		[DataMember]
		public int CanUpdate
		{
			get
			{
				return this._canUpdate;
			}
			internal set
			{
				this._canUpdate = value;
			}
		}
		public ExtensionDataObject ExtensionData
		{
			get
			{
				return this._extensionDataObject;
			}
			set
			{
				this._extensionDataObject = value;
			}
		}
		public AttributePrivilege()
		{
		}
		public AttributePrivilege(Guid attributeId, int canCreate, int canRead, int canUpdate)
		{
			this._attributeId = attributeId;
			this._canCreate = canCreate;
			this._canRead = canRead;
			this._canUpdate = canUpdate;
		}
	}
}
